IEngineEvents

成员方法

名称 类型 描述
onPlayerEvent (event: PlayerEvent) => void
播放器事件
onUserJoined (event: onUserJoinedEvent) => void
用户加入房间
onUserLeave (event: onUserLeaveEvent) => void
用户离开房间
onConnectionStateChanged (event: ConnectionStateChangeEvent) => void
连接状态发生变化
onStreamAdd (event: { stream: RTCStream;}) => void
房间内有新的媒体流发布
onUserMuteAudio (event: UserMuteEvent) => void
房间内用户暂停/恢复发送音频流时,房间内其他用户将收到此事件
onUserMuteVideo (event: UserMuteEvent) => void
房间内用户暂停/恢复发送视频流时,房间内其他用户将收到此事件
onStreamRemove (event: { stream: RTCStream; reason: StreamRemoveReason;}) => void
房间内有媒体流停止发送
onVideoFirstFrameRendered (event: onVideoFirstFrameRenderedEvent) => void
视频首帧渲染
onVideoFirstFrameDecoded (event: onVideoFirstFrameDecodedEvent) => void
视频首帧解码
onAudioFirstFrameDecoded (event: onAudioFirstFrameDecodedEvent) => void
音频首帧解码
onMediaDeviceStateChanged (event: RTCDevice) => void
播放设备状态改变
onAutoplayFailed (event: PlayerEvent) => void /** {zh}
自动播放失败
onTrackEnded (event: { kind: string; isScreen: boolean;}) => void
断流事件
onRoomMessageReceived (event: { userId: string; message: any;}) => void
接收到房间内广播消息的事件。
onRoomBinaryMessageReceived (event: { userId: string; message: ArrayBuffer;}) => void
接收到房间内二进制广播消息的事件。
onUserMessageReceived (event: UserMessageEvent) => void
收到来自房间中其他用户通过 sendUserMessage 发来的点对点文本消息时,会收到此事件
onUserBinaryMessageReceived (event: UserBinaryMessageEvent) => void
收到来自房间中其他用户通过 sendUserBinaryMessage 发来的点对点二进制消息时,会收到此事件
onRemoteStreamStats (stats: RemoteStreamStats) => void
用户订阅的远端音/视频流统计信息以及网络状况,统计周期为 2s
onLocalStreamStats (stats: LocalStreamStats) => void
本地音/视频流统计信息以及网络状况,统计周期为 2s
onAudioVolumeIndication (event: { speakers: AudioVolumeInfo[];}) => void
事件频道内所有用户的音量
如果本地用户未进房,则列表中只有 local_user 的音量信息
onAudioPlaybackDeviceChanged (event: RTCDevice) => void
当使用 setAudioPlaybackDevice 时,会收到此事件
onUserStartAudioCapture (event: { userId: string;}) => void
房间内的可见用户调用 startAudioCapture 开启音频采集时,房间内其他用户会收到此事件。
onUserStopAudioCapture (event: { userId: string;}) => void
房间内的可见用户调用 stopAudioCapture 关闭音频采集时,房间内其他用户会收到此事件。
onUserStartVideoCapture (event: { userId: string;}) => void
房间内的可见用户调用 startVideoCapture 开启内部视频采集时,房间内其他用户会收到此事件。
onUserStopVideoCapture (event: { userId: string;}) => void
房间内的可见用户调用 stopVideoCapture 关闭内部视频采集时,房间内其他用户会收到此事件。
onSEIMessageReceived (event: onSEIMessageEvent) => void
接收到包含 SEI 数据的视频帧事件
onAutoSubscribeResult (event: { userId: string; isScreen: boolean; state: SubscribeState;}) => void
如果开启了自动订阅,订阅成功或者失败后可以收到此事件
onAutoPublishResult (event: { isScreen: boolean; state: PublishState;}) => void
如果开启了自动发布,发布成功或者失败后可以收到此事件
onAutoplayFailed (event: PlayerEvent) => void
自动播放失败
onLiveTranscodingResult (event: LiveTranscodingResultEvent) => void
转推直播结果事件
onError (event: { errorCode: ErrorCode.DUPLICATE_LOGIN;}) => void
重复进房错误
onAudioMixingStateChanged (event: AudioMixingStateChangedEvent) => void
音频混音文件播放状态改变事件

方法详情

onPlayerEvent


播放器事件

(event: PlayerEvent) => void

参数

名称 类型 必选 默认值 描述
event PlayerEvent 是

onUserJoined


用户加入房间

(event: onUserJoinedEvent) => void

参数

名称 类型 必选 默认值 描述
event onUserJoinedEvent 是

onUserLeave


用户离开房间

(event: onUserLeaveEvent) => void

参数

名称 类型 必选 默认值 描述
event onUserLeaveEvent 是

onConnectionStateChanged


连接状态发生变化

(event: ConnectionStateChangeEvent) => void

参数

名称 类型 必选 默认值 描述
event ConnectionStateChangeEvent 是

onStreamAdd


房间内有新的媒体流发布

(event: { stream: RTCStream;}) => void

参数

名称 类型 必选 默认值 描述
event { stream:RTCStream; } 是 stream 对象,详见 RTCStream#ref#RTCStream

onUserMuteAudio


房间内用户暂停/恢复发送音频流时,房间内其他用户将收到此事件

(event: UserMuteEvent) => void

参数

名称 类型 必选 默认值 描述
event UserMuteEvent 是

onUserMuteVideo


房间内用户暂停/恢复发送视频流时,房间内其他用户将收到此事件

(event: UserMuteEvent) => void

参数

名称 类型 必选 默认值 描述
event UserMuteEvent 是

onStreamRemove


房间内有媒体流停止发送

(event: { stream: RTCStream; reason: StreamRemoveReason;}) => void

参数

名称 类型 必选 默认值 描述
event { stream:RTCStream; reason:StreamRemoveReason; } 是
  • stream: RTCStream#ref#RTCStream
  • reason: 原因,详见 StreamRemoveReason#ref#StreamRemoveReason
  • onVideoFirstFrameRendered


    视频首帧渲染

    (event: onVideoFirstFrameRenderedEvent) => void
    

    参数

    名称 类型 必选 默认值 描述
    event onVideoFirstFrameRenderedEvent 是

    onVideoFirstFrameDecoded


    视频首帧解码

    (event: onVideoFirstFrameDecodedEvent) => void
    

    参数

    名称 类型 必选 默认值 描述
    event onVideoFirstFrameDecodedEvent 是

    onAudioFirstFrameDecoded


    音频首帧解码

    (event: onAudioFirstFrameDecodedEvent) => void
    

    参数

    名称 类型 必选 默认值 描述
    event onAudioFirstFrameDecodedEvent 是

    onMediaDeviceStateChanged


    播放设备状态改变

    (event: RTCDevice) => void
    

    参数

    名称 类型 必选 默认值 描述
    event RTCDevice 是 设备及状态

    onAutoplayFailed

    /** {zh}
    自动播放失败

    (event: PlayerEvent) => void
    

    参数

    名称 类型 必选 默认值 描述
    event PlayerEvent 是

    onTrackEnded


    断流事件

    (event: { kind: string; isScreen: boolean;}) => void
    

    参数

    名称 类型 必选 默认值 描述
    event { kind: string; isScreen: boolean; } 是
  • kind: string 类型
  • isScreen: boolean 是否屏幕流
  • onRoomMessageReceived


    接收到房间内广播消息的事件。

    (event: { userId: string; message: any;}) => void
    

    参数

    名称 类型 必选 默认值 描述
    event { userId: string; message: any; } 是
  • userId: string 发送消息用户的 userId
  • message: any 消息内容
  • onRoomBinaryMessageReceived


    接收到房间内二进制广播消息的事件。

    (event: { userId: string; message: ArrayBuffer;}) => void
    

    参数

    名称 类型 必选 默认值 描述
    event { userId: string; message: ArrayBuffer; } 是
  • userId: string 发送消息用户的 userId
  • message: any 消息内容
  • onUserMessageReceived


    收到来自房间中其他用户通过 sendUserMessage 发来的点对点文本消息时,会收到此事件

    (event: UserMessageEvent) => void
    

    参数

    名称 类型 必选 默认值 描述
    event UserMessageEvent 是

    onUserBinaryMessageReceived


    收到来自房间中其他用户通过 sendUserBinaryMessage 发来的点对点二进制消息时,会收到此事件

    (event: UserBinaryMessageEvent) => void
    

    参数

    名称 类型 必选 默认值 描述
    event UserBinaryMessageEvent 是

    onRemoteStreamStats


    用户订阅的远端音/视频流统计信息以及网络状况,统计周期为 2s

    (stats: RemoteStreamStats) => void
    

    参数

    名称 类型 必选 默认值 描述
    stats RemoteStreamStats 是

    onLocalStreamStats


    本地音/视频流统计信息以及网络状况,统计周期为 2s

    (stats: LocalStreamStats) => void
    

    参数

    名称 类型 必选 默认值 描述
    stats LocalStreamStats 是

    onAudioVolumeIndication


    事件频道内所有用户的音量
    如果本地用户未进房,则列表中只有 local_user 的音量信息

    (event: { speakers: AudioVolumeInfo[];}) => void
    

    参数

    名称 类型 必选 默认值 描述
    event { speakers:AudioVolumeInfo[]; } 是 房间内活跃用户及其音量信息。详见 AudioVolumeInfo#ref#AudioVolumeInfo

    onAudioPlaybackDeviceChanged


    当使用 setAudioPlaybackDevice 时,会收到此事件

    (event: RTCDevice) => void
    

    参数

    名称 类型 必选 默认值 描述
    event RTCDevice 是 媒体设备信息,详见官方文档。

    onUserStartAudioCapture


    房间内的可见用户调用 startAudioCapture 开启音频采集时,房间内其他用户会收到此事件。

    (event: { userId: string;}) => void
    

    参数

    名称 类型 必选 默认值 描述
    event { userId: string; } 是 userId: string 开启音频采集的远端用户 ID

    onUserStopAudioCapture


    房间内的可见用户调用 stopAudioCapture 关闭音频采集时,房间内其他用户会收到此事件。

    (event: { userId: string;}) => void
    

    参数

    名称 类型 必选 默认值 描述
    event { userId: string; } 是 userId: string 关闭音频采集的远端用户 ID

    onUserStartVideoCapture


    房间内的可见用户调用 startVideoCapture 开启内部视频采集时,房间内其他用户会收到此事件。

    (event: { userId: string;}) => void
    

    参数

    名称 类型 必选 默认值 描述
    event { userId: string; } 是 userId: string开启视频采集的用户 ID

    onUserStopVideoCapture


    房间内的可见用户调用 stopVideoCapture 关闭内部视频采集时,房间内其他用户会收到此事件。

    (event: { userId: string;}) => void
    

    参数

    名称 类型 必选 默认值 描述
    event { userId: string; } 是 userId: string 停止视频采集的用户的 ID

    onSEIMessageReceived


    接收到包含 SEI 数据的视频帧事件

    (event: onSEIMessageEvent) => void
    

    参数

    名称 类型 必选 默认值 描述
    event onSEIMessageEvent 是 SEI 数据事件

    onAutoSubscribeResult


    如果开启了自动订阅,订阅成功或者失败后可以收到此事件

    (event: { userId: string; isScreen: boolean; state: SubscribeState;}) => void
    

    参数

    名称 类型 必选 默认值 描述
    event { userId: string; isScreen: boolean; state:SubscribeState; } 是
  • userId: string 订阅用户的 userId
  • isScreen: boolean是否为屏幕流
  • state: SubscribeState 订阅状态,详见 SubscribeState#ref#SubscribeState
  • onAutoPublishResult


    如果开启了自动发布,发布成功或者失败后可以收到此事件

    (event: { isScreen: boolean; state: PublishState;}) => void
    

    参数

    名称 类型 必选 默认值 描述
    event { isScreen: boolean; state:PublishState; } 是
  • isScreen: boolean是否为屏幕流
  • state: PublishState 发布状态,详见 PublishState#ref#PublishState

  • onAutoplayFailed


    自动播放失败

    (event: PlayerEvent) => void
    

    参数

    名称 类型 必选 默认值 描述
    event PlayerEvent 是 播放器事件

    onLiveTranscodingResult


    转推直播结果事件

    (event: LiveTranscodingResultEvent) => void
    

    参数

    名称 类型 必选 默认值 描述
    event LiveTranscodingResultEvent 是

    onError


    重复进房错误

    (event: { errorCode: ErrorCode.DUPLICATE_LOGIN;}) => void
    

    参数

    名称 类型 必选 默认值 描述
    event { errorCode: ErrorCode.DUPLICATE_LOGIN; } 是 错误码 DUPLICATE_LOGIN: 相同 userId 用户进房,当前用户被踢出房间

    onAudioMixingStateChanged


    音频混音文件播放状态改变事件

    (event: AudioMixingStateChangedEvent) => void
    

    参数

    名称 类型 必选 默认值 描述
    event AudioMixingStateChangedEvent 是